home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 26 / AMIGAplus Sonderheft 26 (2000)(Falke)(DE)(Track 1 of 2)[!].iso / Tools / Text-Viewer / Notes / english / Violinkey.file < prev    next >
Text File  |  1999-03-29  |  41KB  |  1,355 lines

  1. /* suprogram for "Notes.pprx" */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8. call ppm_SetMagMode(180)
  9. call ppm_UpdateScreen()
  10.  
  11.  
  12. noteneingabe:
  13.     /* smallest notedistance */
  14.     sysart = "notesystem:2"
  15.     systemart = ppm_Getform("Please repeat your choice of the notesystems... (2, 1v oder 1b)", 3, sysart)
  16.     select
  17.     when systemart == '2' then zdist = 4
  18.     when systemart == '1v' then zdist = 2
  19.     when systemart == '1b' then zdist = 2
  20.     otherwise noteneingabe()
  21.     end
  22.     zdist2 = zdist-2
  23.     xgrdform = "(1,2,4,8 oder 16)"
  24.     xgrd = ppm_GetForm("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform)
  25.     if xgrd == '' then  exit_msg("Break")
  26.     select
  27.      when xgrd == '1' then xg =0.7
  28.      when xgrd == '2' then xg =1.4
  29.      when xgrd == '4' then xg =2.8
  30.      when xgrd == '8' then xg =5.6
  31.      when xgrd == '16' then xg =11.2
  32.      otherwise noteneingabe()
  33.     end
  34.  
  35.    /* pointmessure of the notes */
  36.    notepkt = 26
  37.    call ppm_SetJustification(0)
  38.    
  39.    zz = 0   /* linecounter (german:Zeilenzähler) */
  40.    notex = 3
  41.    page = ppm_CurrentPage()
  42.  
  43. pfad:
  44.    do
  45.            choose=ppm_Inform(2,"Please choose the notefile or break ...", "Break","File")
  46.            if choose == 0 then exit_msg("Break!")
  47.            eingabe = ppm_GetFileName("Pleace choose the notescriptfile ...", "Notes:")
  48.            res = OPEN(notenfile, eingabe, 'R')
  49.            if res == 0 then
  50.              do
  51.                  call ppm_inform(1,"There was an error, or the file doesn't exists!!!","OK")
  52.                  pfad()
  53.              end
  54.            call ppm_ShowStatus("OK, I'm working ...")
  55.            auslesen(notenfile)
  56.     end
  57.  
  58.     /* x-distance of the notes */
  59. auslesen:
  60.         do
  61.           parse arg file
  62.           noten = READCH(file, 4000)
  63.           i=1
  64.           do forever
  65.             nw = word(noten, i)
  66.             nn = word(noten, i+1)
  67.             al = word(noten, i+2)
  68.             if nw == 'P' then nw = 'p'
  69.             if nw == 'D' then nw = 'd'
  70.             if nw == 'C' then nw = 'c'
  71.             if nw == 'L' then nw = 'l'
  72.             if nn == 'L' then nn = 'l'          N
  73.             if nw == 'J' then nw = 'j'
  74.             if nw == 'END' then nw = 'end'
  75.             select
  76.               when al == (X2C(4e0a)) then al = 'n'
  77.               when al == (X2C(6e0a)) then al = 'n'
  78.               when al == (X2C(300a)) then al = '0'
  79.               otherwise exit_msg("There was an error!")
  80.             end
  81.             select
  82.               when nn=='GB2' then nn = 'Gb2'
  83.               when nn=='AB2' then nn = 'Ab2'
  84.               when nn=='BB2' then nn = 'Bb2'
  85.               when nn=='DB3' then nn = 'Db3'
  86.               when nn=='EB3' then nn = 'Eb3'
  87.               when nn=='GB3' then nn = 'Gb3'
  88.               when nn=='AB3' then nn = 'Ab3'
  89.               when nn=='BB3' then nn = 'Bb3'
  90.               when nn=='DB4' then nn = 'Db4'
  91.               when nn=='EB4' then nn = 'Eb4'
  92.               when nn=='GB4' then nn = 'Gb4'
  93.               when nn=='AB4' then nn = 'Ab4'
  94.               when nn=='BB4' then nn = 'Bb4'
  95.               when nn=='DB5' then nn = 'Db5'
  96.               when nn=='EB5' then nn = 'Eb5'
  97.               otherwise NOP
  98.             end
  99.             call auswahl()
  100.             i=i+3
  101.           end
  102.         end
  103.  
  104.  
  105.  
  106. auswahl:
  107.  
  108. do
  109.     select
  110.       when nw == 'j' then do
  111.                           zz = 0   /* linecounter */
  112.                           notex = 3
  113.                           return
  114.                           end
  115.       when nw == 'end' then
  116.         do
  117.             call ppm_ClearStatus()
  118.             exit_msg("Ready!")
  119.         end
  120.       when nw=='s' then
  121.           do
  122.           xw = xg/16
  123.           nw='x'
  124.           yv = 0
  125.           end
  126.       when nw=='S' then
  127.           do
  128.           xw = xg/16
  129.           nw='X'
  130.           yv = 0.47
  131.           end
  132.       when nw=='e' then
  133.           do
  134.           xw = xg/8
  135.           nw='e'
  136.           yv = 0
  137.           end
  138.       when nw=='E' then
  139.           do
  140.           xw = xg/8
  141.           nw='E'
  142.           yv = 0.47
  143.           end
  144.       when nw=='q' then
  145.           do
  146.           xw = xg/4
  147.           nw='q'
  148.           yv = 0
  149.           end
  150.       when nw=='Q' then
  151.           do
  152.           xw = xg/4
  153.           nw='Q'
  154.           yv = 0.47
  155.           end
  156.       when nw=='h' then
  157.           do
  158.           xw = xg/2
  159.           yv = 0
  160.           end
  161.       when nw=='H' then
  162.           do
  163.           xw = xg/2
  164.           yv = 0.47
  165.           end
  166.       when nw=='w' then
  167.           do
  168.           xw = xg
  169.           nw='w'
  170.           yv = 0
  171.           end
  172.       when nw=='W' then
  173.           do
  174.           xw = xg
  175.           nw='W'
  176.           yv = 0.47
  177.           end
  178.  
  179.      /* point after a note */
  180.  
  181.       when nw == 'pt' then
  182.           do
  183.             if notex < 3 then
  184.             do
  185.               notex = bakx
  186.               zz = zz - zdist
  187.               call ppm_SetSize(25)
  188.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  189.               call ppm_SetSize(20)
  190.               call ppm_TextIntoBox(box#id, 'd')
  191.             end
  192.             else
  193.             do
  194.               call ppm_SetSize(25)
  195.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  196.               call ppm_SetSize(20)
  197.               call ppm_TextIntoBox(box#id, 'd')
  198.             end
  199.            select
  200.                when nn == '1' then
  201.                do
  202.                xw = xg
  203.                notex = notex+xw
  204.                end
  205.                when nn == '2' then
  206.                do
  207.                xw = xg/2
  208.                notex = notex+xw
  209.                end
  210.                when nn == '4' then
  211.                do
  212.                xw = xg/4
  213.                notex = notex+xw
  214.                end
  215.                when nn == '8' then
  216.                do
  217.                xw = xg/8
  218.                notex = notex+xw
  219.                end
  220.                when nn == '16' then
  221.                do
  222.                xw  = xg/16
  223.                notex = notex+xw
  224.                end
  225.                when nn == 'l' then
  226.                do
  227.                xw  = 0.2
  228.                notex = notex+xw
  229.                end
  230.                when nn == '0' then do
  231.                end
  232.                otherwise
  233.                do
  234.                 call ppm_ClearStatus()
  235.                 exit_msg("There was an error")
  236.                end
  237.            end
  238.            if notex >=18.7 then
  239.                do
  240.                  notex = 2.5
  241.                  zz = zz + zdist
  242.                end
  243.            return
  244.           end
  245.  
  246.       when nw == 'PT' then
  247.           do
  248.             if notex < 3 then
  249.             do
  250.               notex = bakx
  251.               zz = zz - zdist
  252.               call ppm_SetSize(25)
  253.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  254.               call ppm_SetSize(20)
  255.               call ppm_TextIntoBox(box#id, 'd')
  256.             end
  257.             else
  258.             do
  259.               call ppm_SetSize(25)
  260.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  261.               call ppm_SetSize(20)
  262.               call ppm_TextIntoBox(box#id, 'd')
  263.             end
  264.            select
  265.                when nn == '1' then
  266.                do
  267.                xw = xg
  268.                notex = notex+xw
  269.                end
  270.                when nn == '2' then
  271.                do
  272.                xw = xg/2
  273.                notex = notex+xw
  274.                end
  275.                when nn == '4' then
  276.                do
  277.                xw = xg/4
  278.                notex = notex+xw
  279.                end
  280.                when nn == '8' then
  281.                do
  282.                xw = xg/8
  283.                notex = notex+xw
  284.                end
  285.                when nn == '16' then
  286.                do
  287.                xw  = xg/16
  288.                notex = notex+xw
  289.                end
  290.                when nn == 'l' then
  291.                do
  292.                xw  = 0.2
  293.                notex = notex+xw
  294.                end
  295.                when nn == '0' then
  296.                do
  297.                end
  298.                otherwise
  299.                do
  300.                 call ppm_ClearStatus()
  301.                 exit_msg("There was an error")
  302.                end
  303.            end
  304.            if notex >=18.7 then
  305.                do
  306.                  notex = 2.5
  307.                  zz = zz + zdist
  308.                end
  309.            return
  310.           end
  311.  
  312.       /* Barline */
  313.       when nw == 'l' then
  314.           do
  315.            call ppm_SetLineWeight(0.25)
  316.            call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
  317.            notex = notex+0.2
  318.            return
  319.           end
  320.  
  321.      /* Pausen */
  322.       when nw == 'p' then
  323.         do
  324. pausenwert:
  325.            x = notex
  326.            select
  327.                when nn== '0' then do
  328.                                   end
  329.                when nn== '1' then do
  330.  
  331.                    y = 2.28+zz
  332.                    call ppm_SetLineWeight(4)
  333.                    call ppm_DrawLine(x, y, x+0.4, y)
  334.                    call ppm_SetLineWeight(0.25)
  335.                    xw = xg
  336.                    notex = notex+xw
  337.                end
  338.  
  339.                when nn== '2' then do
  340.  
  341.                    y = 2.32+zz
  342.                    call ppm_SetLineWeight(4)
  343.                    call ppm_DrawLine(x, y, x+0.4, y)
  344.                    call ppm_SetLineWeight(0.25)
  345.                    xw = xg/2
  346.                    notex = notex+xw
  347.                end
  348.  
  349.                when nn== '4' then do
  350.  
  351.                    y = 2.07+zz
  352.                    Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  353.                    boxnm = ppm_DocNextBox(Pbox)
  354.                    call ppm_DeleteContents(boxnm)
  355.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
  356.                    xw = xg/4
  357.                    notex = notex+xw
  358.                end
  359.  
  360.                when nn== '8' then do
  361.  
  362.                    y = 2.21+zz
  363.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  364.                    boxnm = ppm_DocNextBox(Pbox)
  365.                    call ppm_DeleteContents(boxnm)
  366.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
  367.                    xw = xg/8
  368.                    notex = notex+xw
  369.                end
  370.  
  371.                when nn== '16' then do
  372.  
  373.                    y = 2.21+zz
  374.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  375.                    boxnm = ppm_DocNextBox(Pbox)
  376.                    call ppm_DeleteContents(boxnm)
  377.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
  378.                    xw = xg/16
  379.                    notex = notex+xw
  380.                end
  381.                otherwise
  382.                do
  383.                 call ppm_ClearStatus()
  384.                 exit_msg("There was an error")
  385.                end
  386.            end
  387.            if notex >=18.7 then
  388.                do
  389.                  notex = 2.5
  390.                  zz = zz + zdist
  391.                end
  392.           return
  393.         end
  394.  
  395.       when nw == 'c' then
  396.         do
  397.           select
  398.  
  399.            when nn== '1' then
  400.                do
  401.                xw = xg
  402.                notex = notex+xw
  403.                end
  404.            when nn== '2' then
  405.                do
  406.                xw = xg/2
  407.                notex = notex+xw
  408.                end
  409.            when nn== '4' then
  410.                do
  411.                xw = xg/4
  412.                notex = notex+xw
  413.                end
  414.            when nn== '8' then
  415.                do
  416.                xw = xg/8
  417.                notex = notex+xw
  418.                end
  419.            when nn== '16' then
  420.                do
  421.                xw = xg/16
  422.                notex = notex+xw
  423.                end
  424.            when nn == 'l' then
  425.                do
  426.                xw  = 0.2
  427.                notex = notex+xw
  428.                end
  429.            when nn == '0' then do
  430.                end
  431.            otherwise
  432.            do
  433.             call ppm_ClearStatus()
  434.             exit_msg("There was an error")
  435.            end
  436.           end
  437.            if notex >=18.7 then
  438.                do
  439.                  notex = 2.5
  440.                  zz = zz + zdist
  441.                end
  442.           return
  443.         end
  444.       otherwise
  445.       do
  446.        call ppm_ClearStatus()
  447.        exit_msg("There was an error!")
  448.       end
  449.     end
  450.  
  451.  
  452.      /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
  453.  
  454.         call ppm_SetLineWeight(0.25)
  455.  
  456.       select
  457.         when nn=='f#5'  then
  458.         do
  459.             yw = 0.645
  460.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  461.             call ppm_SetSize(20)
  462.             call ppm_TextIntoBox(box#id, 's')
  463.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  464.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  465.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  466.         end
  467.         when nn=='f5'  then
  468.         do
  469.             yw = 0.645
  470.             if al == 'n' then call auflhoch()
  471.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  472.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  473.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  474.         end
  475.         when nn=='e5'  then
  476.         do
  477.             yw = 0.745
  478.             if al == 'n' then call auflhoch()
  479.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  480.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  481.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  482.         end
  483.         when nn=='eb5'  then
  484.         do
  485.             yw = 0.745
  486.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  487.             call ppm_SetSize(20)
  488.             call ppm_TextIntoBox(box#id, 'f')
  489.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  490.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  491.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  492.         end
  493.         when nn=='d#5'  then
  494.         do
  495.             yw = 0.845
  496.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  497.             call ppm_SetSize(20)
  498.             call ppm_TextIntoBox(box#id, 's')
  499.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  500.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  501.         end
  502.         when nn=='d5'  then
  503.         do
  504.             yw = 0.845
  505.             if al == 'n' then call auflhoch()
  506.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  507.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  508.         end
  509.         when nn=='db5'  then
  510.         do
  511.             yw = 0.845
  512.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  513.             call ppm_SetSize(20)
  514.             call ppm_TextIntoBox(box#id, 'f')
  515.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  516.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  517.         end
  518.         when nn=='c#5'  then
  519.         do
  520.             yw = 0.945
  521.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  522.             call ppm_SetSize(20)
  523.             call ppm_TextIntoBox(box#id, 's')
  524.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  525.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  526.         end
  527.         when nn=='c5'  then
  528.         do
  529.             yw = 0.945
  530.             if al == 'n' then call auflhoch()
  531.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  532.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  533.         end
  534.  
  535.         when nn=='b4'  then
  536.         do
  537.             yw = 1.045
  538.             if al == 'n' then call auflhoch()
  539.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  540.         end
  541.  
  542.         when nn=='bb4'  then
  543.         do
  544.             yw = 1.045
  545.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  546.         end
  547.  
  548.         when nn=='a#4' then
  549.         do
  550.             yw = 1.145
  551.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  552.             call ppm_SetSize(20)
  553.             call ppm_TextIntoBox(box#id, 's')
  554.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  555.         end
  556.  
  557.         when nn=='a4'  then
  558.         do
  559.             yw = 1.145
  560.             if al == 'n' then call auflhoch()
  561.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  562.         end
  563.  
  564.         when nn=='ab4' then
  565.         do
  566.             yw = 1.145
  567.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  568.             call ppm_SetSize(20)
  569.             call ppm_TextIntoBox(box#id, 'f')
  570.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  571.         end
  572.  
  573.         when nn=='g#4' then
  574.         do
  575.             yw = 1.245
  576.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  577.             call ppm_SetSize(20)
  578.             call ppm_TextIntoBox(box#id, 's')
  579.         end
  580.         when nn=='g4'  then
  581.         do
  582.             yw = 1.245
  583.             if al == 'n' then call auflhoch()
  584.         end
  585.         when nn=='gb4' then
  586.         do
  587.             yw = 1.245
  588.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  589.             call ppm_SetSize(20)
  590.             call ppm_TextIntoBox(box#id, 'f')
  591.         end
  592.         when nn=='f#4' then
  593.         do
  594.             yw = 1.345
  595.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  596.             call ppm_SetSize(20)
  597.             call ppm_TextIntoBox(box#id, 's')
  598.         end
  599.         when nn=='f4'  then
  600.         do
  601.             yw = 1.345
  602.             if al == 'n' then call auflhoch()
  603.         end
  604.         when nn=='e#4' then
  605.         do
  606.             yw = 1.445
  607.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  608.             call ppm_SetSize(20)
  609.             call ppm_TextIntoBox(box#id, 's')
  610.         end
  611.         when nn=='e4'  then
  612.         do
  613.             yw = 1.445
  614.             if al == 'n' then call auflhoch()
  615.         end
  616.         when nn=='eb4' then
  617.         do
  618.             yw = 1.445
  619.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  620.             call ppm_SetSize(20)
  621.             call ppm_TextIntoBox(box#id, 'f')
  622.         end
  623.         when nn=='d#4' then
  624.         do
  625.             yw = 1.545
  626.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  627.             call ppm_SetSize(20)
  628.             call ppm_TextIntoBox(box#id, 's')
  629.         end
  630.         when nn=='d4'  then
  631.         do
  632.             yw = 1.545
  633.             if al == 'n' then call auflhoch()
  634.         end
  635.         when nn=='db4' then
  636.         do
  637.             yw = 1.545
  638.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  639.             call ppm_SetSize(20)
  640.             call ppm_TextIntoBox(box#id, 'f')
  641.         end
  642.         when nn=='c#4' then
  643.         do
  644.             yw = 1.645
  645.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  646.             call ppm_SetSize(20)
  647.             call ppm_TextIntoBox(box#id, 's')
  648.         end
  649.         when nn=='c4'  then
  650.         do
  651.             yw = 1.645
  652.             if al == 'n' then call auflhoch()
  653.         end
  654.         when nn=='b3'  then
  655.         do
  656.             yw = 1.745
  657.             if al == 'n' then call auflhoch()
  658.         end
  659.         when nn=='bb3'  then
  660.         do
  661.             yw = 1.745
  662.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  663.             call ppm_SetSize(20)
  664.             call ppm_TextIntoBox(box#id, 'f')
  665.         end
  666.         when nn=='a#3' then
  667.         do
  668.             yw = 1.845
  669.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  670.             call ppm_SetSize(20)
  671.             call ppm_TextIntoBox(box#id, 's')
  672.         end
  673.         when nn=='a3'  then
  674.         do
  675.             yw = 1.845
  676.             if al == 'n' then call auflhoch()
  677.         end
  678.         when nn=='ab3' then
  679.         do
  680.             yw = 1.845
  681.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  682.             call ppm_SetSize(20)
  683.             call ppm_TextIntoBox(box#id, 'f')
  684.         end
  685.         when nn=='g#3' then
  686.         do
  687.             yw = 1.945
  688.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  689.             call ppm_SetSize(20)
  690.             call ppm_TextIntoBox(box#id, 's')
  691.         end
  692.         when nn=='g3'  then
  693.         do
  694.             yw = 1.945
  695.             if al == 'n' then call auflhoch()
  696.         end
  697.         when nn=='gb3' then
  698.         do
  699.             yw = 1.945
  700.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  701.             call ppm_SetSize(20)
  702.             call ppm_TextIntoBox(box#id, 'f')
  703.         end
  704.         when nn=='f#3' then
  705.         do
  706.             yw = 2.045
  707.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  708.             call ppm_SetSize(20)
  709.             call ppm_TextIntoBox(box#id, 's')
  710.         end
  711.         when nn=='f3'  then
  712.         do
  713.             yw = 2.045
  714.             if al == 'n' then call auflhoch()
  715.         end
  716.         when nn=='e#3' then
  717.         do
  718.             yw = 2.145
  719.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  720.             call ppm_SetSize(20)
  721.             call ppm_TextIntoBox(box#id, 's')
  722.         end
  723.         when nn=='e3'  then
  724.         do
  725.             yw = 2.145
  726.             if al == 'n' then call auflhoch()
  727.         end
  728.         when nn=='eb3' then
  729.         do
  730.             yw = 2.145
  731.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  732.             call ppm_SetSize(20)
  733.             call ppm_TextIntoBox(box#id, 'f')
  734.         end
  735.         when nn=='d#3' then
  736.         do
  737.             yw = 2.245
  738.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  739.             call ppm_SetSize(20)
  740.             call ppm_TextIntoBox(box#id, 's')
  741.         end
  742.         when nn=='d3'  then
  743.         do
  744.             yw = 2.245
  745.             if al == 'n' then call auflhoch()
  746.         end
  747.         when nn=='db3' then
  748.         do
  749.             yw = 2.245
  750.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  751.             call ppm_SetSize(20)
  752.             call ppm_TextIntoBox(box#id, 'f')
  753.         end
  754.  
  755.         when nn=='c#3' then
  756.         do
  757.             yw = 2.345
  758.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  759.             call ppm_SetSize(20)
  760.             call ppm_TextIntoBox(box#id, 's')
  761.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  762.         end
  763.  
  764.         when nn=='c3'  then
  765.         do
  766.             yw = 2.345
  767.             if al == 'n' then call auflhoch()
  768.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  769.         end
  770.  
  771.         when nn=='b2'  then
  772.         do
  773.             yw = 2.445
  774.             if al == 'n' then call auflhoch()
  775.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  776.         end
  777.  
  778.         when nn=='bb2'  then
  779.         do
  780.             yw = 2.445
  781.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  782.             call ppm_SetSize(20)
  783.             call ppm_TextIntoBox(box#id, 'f')
  784.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  785.         end
  786.  
  787.         when nn=='a#2' then
  788.         do
  789.             yw = 2.545
  790.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  791.             call ppm_SetSize(20)
  792.             call ppm_TextIntoBox(box#id, 's')
  793.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  794.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  795.         end
  796.  
  797.         when nn=='a2'  then
  798.         do
  799.             yw = 2.545
  800.             if al == 'n' then call auflhoch()
  801.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  802.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  803.         end
  804.  
  805.         when nn=='ab2'  then
  806.         do
  807.             yw = 2.545
  808.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  809.             call ppm_SetSize(20)
  810.             call ppm_TextIntoBox(box#id, 'f')
  811.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  812.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  813.         end
  814.  
  815.         when nn=='g#2'  then
  816.         do
  817.             yw = 2.645
  818.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  819.             call ppm_SetSize(20)
  820.             call ppm_TextIntoBox(box#id, 's')
  821.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  822.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  823.         end
  824.  
  825.         when nn=='g2'  then
  826.         do
  827.             yw = 2.645
  828.             if al == 'n' then call auflhoch()
  829.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  830.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  831.         end
  832.  
  833.  
  834.         when nn=='gb2'  then
  835.         do
  836.             yw = 2.645
  837.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  838.             call ppm_SetSize(20)
  839.             call ppm_TextIntoBox(box#id, 'f')
  840.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  841.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  842.         end
  843.  
  844.         when nn=='f#2'  then
  845.         do
  846.             yw = 2.745
  847.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  848.             call ppm_SetSize(20)
  849.             call ppm_TextIntoBox(box#id, 's')
  850.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  851.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  852.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  853.         end
  854.  
  855.         when nn=='f2'  then
  856.         do
  857.             yw = 2.745
  858.             if al == 'n' then call auflhoch()
  859.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  860.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  861.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  862.         end
  863.  
  864.         when nn=='e2'  then
  865.         do
  866.             yw = 2.845
  867.             if al == 'n' then call auflhoch()
  868.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  869.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  870.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  871.         end
  872.  
  873.  
  874.     /* y-Raster der Noten - Notenhälse nach unten */
  875.  
  876.         when nn=='F#5'  then
  877.         do
  878.             yw = 1.12
  879.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  880.             call ppm_SetSize(20)
  881.             call ppm_TextIntoBox(box#id, 's')
  882.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  883.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  884.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  885.         end
  886.         when nn=='F5'  then
  887.         do
  888.             yw = 1.12
  889.             if al == 'n' then call aufltief()
  890.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  891.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  892.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  893.         end
  894.         when nn=='E5'  then
  895.         do
  896.             yw = 1.22
  897.             if al == 'n' then call aufltief()
  898.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  899.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  900.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  901.         end
  902.         when nn=='Eb5'  then
  903.         do
  904.             yw = 1.22
  905.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  906.             call ppm_SetSize(20)
  907.             call ppm_TextIntoBox(box#id, 'f')
  908.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  909.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  910.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  911.         end
  912.         when nn=='D#5'  then
  913.         do
  914.             yw = 1.32
  915.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  916.             call ppm_SetSize(20)
  917.             call ppm_TextIntoBox(box#id, 's')
  918.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  919.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  920.         end
  921.         when nn=='D5'  then
  922.         do
  923.             yw = 1.32
  924.             if al == 'n' then call aufltief()
  925.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  926.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  927.         end
  928.         when nn=='Db5'  then
  929.         do
  930.             yw = 1.32
  931.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  932.             call ppm_SetSize(20)
  933.             call ppm_TextIntoBox(box#id, 'f')
  934.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  935.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  936.         end
  937.         when nn=='C#5'  then
  938.         do
  939.             yw = 1.42
  940.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  941.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  942.         end
  943.  
  944.         when nn=='C5'  then
  945.         do
  946.             yw = 1.42
  947.             if al == 'n' then call aufltief()
  948.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  949.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  950.         end
  951.  
  952.         when nn=='B4'  then
  953.         do
  954.             yw = 1.52
  955.             if al == 'n' then call aufltief()
  956.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  957.         end
  958.  
  959.         when nn=='Bb4'  then
  960.         do
  961.             yw = 1.52
  962.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  963.             call ppm_SetSize(20)
  964.             call ppm_TextIntoBox(box#id, 'f')
  965.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  966.         end
  967.  
  968.         when nn=='A#4' then
  969.         do
  970.             yw = 1.62
  971.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  972.             call ppm_SetSize(20)
  973.             call ppm_TextIntoBox(box#id, 's')
  974.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  975.         end
  976.  
  977.         when nn=='A4'  then
  978.         do
  979.             yw = 1.62
  980.             if al == 'n' then call aufltief()
  981.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  982.         end
  983.  
  984.         when nn=='Ab4' then
  985.         do
  986.             yw = 1.62
  987.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  988.             call ppm_SetSize(20)
  989.             call ppm_TextIntoBox(box#id, 'f')
  990.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  991.         end
  992.  
  993.         when nn=='G#4' then
  994.         do
  995.             yw = 1.72
  996.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  997.             call ppm_SetSize(20)
  998.             call ppm_TextIntoBox(box#id, 's')
  999.         end
  1000.         when nn=='G4'  then
  1001.         do
  1002.             yw = 1.72
  1003.             if al == 'n' then call aufltief()
  1004.         end
  1005.         when nn=='Gb4' then
  1006.         do
  1007.             yw = 1.72
  1008.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1009.             call ppm_SetSize(20)
  1010.             call ppm_TextIntoBox(box#id, 'f')
  1011.         end
  1012.         when nn=='F#4' then
  1013.         do
  1014.             yw = 1.82
  1015.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1016.             call ppm_SetSize(20)
  1017.             call ppm_TextIntoBox(box#id, 's')
  1018.         end
  1019.         when nn=='F4'  then
  1020.         do
  1021.             yw = 1.82
  1022.             if al == 'n' then call aufltief()
  1023.         end
  1024.         when nn=='E#4' then
  1025.         do
  1026.             yw = 1.92
  1027.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1028.             call ppm_SetSize(20)
  1029.             call ppm_TextIntoBox(box#id, 's')
  1030.         end
  1031.         when nn=='E4'  then
  1032.         do
  1033.             yw = 1.92
  1034.             if al == 'n' then call aufltief()
  1035.         end
  1036.         when nn=='Eb4' then
  1037.         do
  1038.             yw = 1.92
  1039.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1040.             call ppm_SetSize(20)
  1041.             call ppm_TextIntoBox(box#id, 'f')
  1042.         end
  1043.         when nn=='D#4' then
  1044.         do
  1045.             yw = 2.02
  1046.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1047.             call ppm_SetSize(20)
  1048.             call ppm_TextIntoBox(box#id, 's')
  1049.         end
  1050.         when nn=='D4'  then
  1051.         do
  1052.             yw = 2.02
  1053.             if al == 'n' then call aufltief()
  1054.         end
  1055.         when nn=='Db4' then
  1056.         do
  1057.             yw = 2.02
  1058.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1059.             call ppm_SetSize(20)
  1060.             call ppm_TextIntoBox(box#id, 'f')
  1061.         end
  1062.         when nn=='C#4' then
  1063.         do
  1064.             yw = 2.12
  1065.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1066.             call ppm_SetSize(20)
  1067.             call ppm_TextIntoBox(box#id, 's')
  1068.         end
  1069.         when nn=='C4'  then
  1070.         do
  1071.             yw = 2.12
  1072.             if al == 'n' then call aufltief()
  1073.         end
  1074.         when nn=='B3'  then
  1075.         do
  1076.             yw = 2.22
  1077.             if al == 'n' then call aufltief()
  1078.         end
  1079.         when nn=='Bb3'  then
  1080.         do
  1081.             yw = 2.22
  1082.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1083.             call ppm_SetSize(20)
  1084.             call ppm_TextIntoBox(box#id, 'f')
  1085.         end
  1086.         when nn=='A#3' then
  1087.         do
  1088.             yw = 2.32
  1089.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1090.             call ppm_SetSize(20)
  1091.             call ppm_TextIntoBox(box#id, 's')
  1092.         end
  1093.         when nn=='A3'  then
  1094.         do
  1095.             yw = 2.32
  1096.             if al == 'n' then call aufltief()
  1097.         end
  1098.         when nn=='Ab3' then
  1099.         do
  1100.             yw = 2.32
  1101.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1102.             call ppm_SetSize(20)
  1103.             call ppm_TextIntoBox(box#id, 'f')
  1104.         end
  1105.         when nn=='G#3' then
  1106.         do
  1107.             yw = 2.42
  1108.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1109.             call ppm_SetSize(20)
  1110.             call ppm_TextIntoBox(box#id, 's')
  1111.         end
  1112.         when nn=='G3'  then
  1113.         do
  1114.             yw = 2.42
  1115.             if al == 'n' then call aufltief()
  1116.         end
  1117.         when nn=='Gb3' then
  1118.         do
  1119.             yw = 2.42
  1120.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1121.             call ppm_SetSize(20)
  1122.             call ppm_TextIntoBox(box#id, 'f')
  1123.         end
  1124.         when nn=='F#3' then
  1125.         do
  1126.             yw = 2.52
  1127.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1128.             call ppm_SetSize(20)
  1129.             call ppm_TextIntoBox(box#id, 's')
  1130.         end
  1131.         when nn=='F3'  then
  1132.         do
  1133.             yw = 2.52
  1134.             if al == 'n' then call aufltief()
  1135.         end
  1136.         when nn=='E#3' then
  1137.         do
  1138.             yw = 2.62
  1139.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1140.             call ppm_SetSize(20)
  1141.             call ppm_TextIntoBox(box#id, 's')
  1142.         end
  1143.         when nn=='E3'  then
  1144.         do
  1145.             yw = 2.62
  1146.             if al == 'n' then call aufltief()
  1147.         end
  1148.         when nn=='Eb3' then
  1149.         do
  1150.             yw = 2.62
  1151.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1152.             call ppm_SetSize(20)
  1153.             call ppm_TextIntoBox(box#id, 'f')
  1154.         end
  1155.         when nn=='D#3' then
  1156.         do
  1157.             yw = 2.72
  1158.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1159.             call ppm_SetSize(20)
  1160.             call ppm_TextIntoBox(box#id, 's')
  1161.         end
  1162.         when nn=='D3'  then
  1163.         do
  1164.             yw = 2.72
  1165.             if al == 'n' then call aufltief()
  1166.         end
  1167.         when nn=='Db3' then
  1168.         do
  1169.             yw = 2.72
  1170.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1171.             call ppm_SetSize(20)
  1172.             call ppm_TextIntoBox(box#id, 'f')
  1173.         end
  1174.  
  1175.         when nn=='C#3' then
  1176.         do
  1177.             yw = 2.82
  1178.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1179.             call ppm_SetSize(20)
  1180.             call ppm_TextIntoBox(box#id, 's')
  1181.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1182.         end
  1183.  
  1184.         when nn=='C3'  then
  1185.         do
  1186.             yw = 2.82
  1187.             if al == 'n' then call aufltief()
  1188.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1189.         end
  1190.  
  1191.         when nn=='B2'  then
  1192.         do
  1193.             yw = 2.92
  1194.             if al == 'n' then call aufltief()
  1195.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1196.         end
  1197.  
  1198.         when nn=='Bb2'  then
  1199.         do
  1200.             yw = 2.92
  1201.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1202.             call ppm_SetSize(20)
  1203.             call ppm_TextIntoBox(box#id, 'f')
  1204.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1205.         end
  1206.  
  1207.         when nn=='A#2' then
  1208.         do
  1209.             yw = 3.02
  1210.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1211.             call ppm_SetSize(20)
  1212.             call ppm_TextIntoBox(box#id, 's')
  1213.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1214.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1215.         end
  1216.  
  1217.         when nn=='A2'  then
  1218.         do
  1219.           yw = 3.02
  1220.             if al == 'n' then call aufltief()
  1221.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1222.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1223.         end
  1224.  
  1225.         when nn=='Ab2'  then
  1226.         do
  1227.           yw = 3.02
  1228.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1229.           call ppm_SetSize(20)
  1230.           call ppm_TextIntoBox(box#id, 'f')
  1231.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1232.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1233.         end
  1234.  
  1235.         when nn=='G#2'  then
  1236.         do
  1237.             yw = 3.12
  1238.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1239.             call ppm_SetSize(20)
  1240.             call ppm_TextIntoBox(box#id, 's')
  1241.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1242.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1243.         end
  1244.  
  1245.         when nn=='G2'  then
  1246.         do
  1247.           yw = 3.12
  1248.             if al == 'n' then call aufltief()
  1249.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1250.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1251.         end
  1252.  
  1253.         when nn=='Gb2'  then
  1254.         do
  1255.           yw = 3.12
  1256.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1257.           call ppm_SetSize(20)
  1258.           call ppm_TextIntoBox(box#id, 'f')
  1259.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1260.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1261.         end
  1262.  
  1263.         when nn=='F#2'  then
  1264.         do
  1265.           yw = 3.22
  1266.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1267.           call ppm_SetSize(20)
  1268.           call ppm_TextIntoBox(box#id, 's')
  1269.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1270.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1271.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1272.         end
  1273.  
  1274.         when nn=='F2'  then
  1275.         do
  1276.           yw = 3.22
  1277.             if al == 'n' then call aufltief()
  1278.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1279.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1280.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1281.         end
  1282.  
  1283.         when nn=='E2'  then
  1284.         do
  1285.           yw = 3.32
  1286.             if al == 'n' then call aufltief()
  1287.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1288.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1289.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1290.         end
  1291.         otherwise
  1292.         do
  1293.          call ppm_ClearStatus()
  1294.          exit_msg("There was an error!")
  1295.         end
  1296.       end
  1297.  
  1298.  
  1299.         /* dimension of a notebox */
  1300.           notewidht = 0.64
  1301.           noteheight = 0.97
  1302.  
  1303.  
  1304.           boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1305.           call ppm_SetSize(notepkt)
  1306.           call ppm_TextIntoBox(boxid, nw)
  1307.           bakx = notex
  1308.           notex = (notex + xw)
  1309.           if notex >=18.7 then
  1310.               do
  1311.                 notex = 2.5
  1312.                 zz = zz + zdist
  1313.               end
  1314.     return
  1315. end
  1316. exit
  1317.  
  1318. auflhoch:
  1319. do
  1320.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1321.   boxnm = ppm_DocNextBox(Pbox)
  1322.   call ppm_DeleteContents(boxnm)
  1323.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1324.   return
  1325. end
  1326.  
  1327. aufltief:
  1328. do
  1329.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1330.   boxnm = ppm_DocNextBox(Pbox)
  1331.   call ppm_DeleteContents(boxnm)
  1332.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1333.   return
  1334. end
  1335.  
  1336. break_d:
  1337. break_e:
  1338. break_c:
  1339. halt:
  1340.     call exit_msg("User aborted Genie!")
  1341.  
  1342.  
  1343. exit_msg: procedure
  1344. do
  1345.     parse arg message
  1346.  
  1347.     if message ~= '' then
  1348.     call ppm_Inform(1,message,)
  1349.  
  1350.     call ppm_ClearStatus()
  1351.     call ppm_AutoUpdate(1)
  1352.     exit
  1353. end
  1354.  
  1355.